#ifndef _VEC_STORAGE_WRAPPERS_H_
#define _VEC_STORAGE_WRAPPERS_H_

#include <boost/python.hpp>
#include <OpenSG/OSGVector.h>


namespace osgwrap
{

template<typename T>
boost::python::tuple VecStorage3_getSeparateValues_tuple(osg::VecStorage3<T>* vec)
{
   T v0, v1, v2;
   vec->getSeparateValues(v0, v1, v2);
   return boost::python::make_tuple(v0, v1, v2);
}

template<typename T>
boost::python::tuple VecStorage4_getSeparateValues_tuple(osg::VecStorage4<T>* vec)
{
   T v0, v1, v2, v3;
   vec->getSeparateValues(v0, v1, v2, v3);
   return boost::python::make_tuple(v0, v1, v2, v3);
}

// Instantiations of the above functions.
template boost::python::tuple VecStorage3_getSeparateValues_tuple(osg::VecStorage3<osg::Real32>*);

template boost::python::tuple VecStorage4_getSeparateValues_tuple(osg::VecStorage4<osg::Real32>*);

}


#endif /* _VEC_STORAGE_WRAPPERS_H_ */
